Answering Door Bell
The Answering Door Bell is a simple device that displays a message to your guests at the door with just the click of a button. Any button of an IR remote can be programmed to display a particular message on the screen.
The Answering Door Bell is a simple device that displays a message to your guests at the door with just the click of a button. Any button of an IR remote can be programmed to display a particular message on the screen.
VCC of IR Receiver | 5v of Arduino |
GND of IR Receiver | GND of Arduino |
OUT of IR Receiver | pin 11 of Arduino. |
Buzzer +ve | Pin 13 of Arduino |
Buzzer -ve | GND of Arduino |
Pin 1 (VSS) of L.C.D | GND of Arduino |
Pin 2 (VDD) of L.C.D | 5V of Arduino |
Pin 3 (V0) of L.C.D | potentiometer center pin |
Pin 4 (RS) of L.C.D | Pin2 of Arduino |
Pin 5 (RW) of L.C.D | GND of Arduino |
Pin 6 (EN) of L.C.D | Pin 3 of Arduino |
Pin 11 (D4) of L.C.D | Pin 4 of Arduino |
Pin 12 (D5) of L.C.D | Pin 5 of Arduino |
Pin 13 (D6) of L.C.D | Pin 6 of Arduino |
Pin 14(D7) of L.C.D | Pin 7 of Arduino |
Pin 15 (A) of L.C.D | Pin 10 of Arduino |
Pin 16 (K) of L.C.D | GND of Arduino |
//initialization
#include
#include
#include
int IRpin = 11;
IRrecv irrecv(IRpin);
decode_results results;
const int rs=2, e=3, d4=4, d5=5, d6=6, d7=7;
LiquidCrystal lcd(rs,e,d4,d5,d6,d7);
const int RGB=13, led=8, bl=10;
//setup
void setup() {
lcd.begin(16,2);
lcd.clear();
Serial.begin(9600);
pinMode(RGB,OUTPUT);
pinMode(led,OUTPUT);
pinMode(bl,OUTPUT);
irrecv.enableIRIn(); // Start the receiver
lcd.clear();
digitalWrite(RGB,LOW);
digitalWrite(led,LOW);
digitalWrite(bl,HIGH);
lcd.setCursor(0,0);
lcd.print("D.B.M.S. English");
lcd.setCursor(0,1);
lcd.print(" School ");
}
//working
void loop() {
if (irrecv.decode(&results)){ //checks if signal is transmitted
Serial.println(results.value); // prints the value of the hex code on the serial monitor
//print message on L.C.D. according to the value received
if(results.value==2672){
lcd.clear();
digitalWrite(RGB,LOW);
digitalWrite(led,LOW);
digitalWrite(bl,HIGH);
lcd.setCursor(0,0);
lcd.print(" B.H. Area ");
lcd.setCursor(0,1);
lcd.print(" Road No. 7 ");
}
if(results.value==2704){
lcd.clear();
digitalWrite(RGB,LOW);
digitalWrite(led,LOW);
digitalWrite(bl, LOW);
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" ");
}
if(results.value==16){
lcd.clear();
digitalWrite(led,HIGH);
digitalWrite(bl,HIGH);
lcd.setCursor(0,0);
lcd.print("Please wait for ");
lcd.setCursor(0,1);
lcd.print(" a minute ");
digitalWrite(RGB,HIGH);
delay(500);
digitalWrite(RGB,LOW);
delay(100);
digitalWrite(RGB,HIGH);
delay(50);
digitalWrite(RGB,LOW);
delay(50);
digitalWrite(RGB,HIGH);
delay(50);
digitalWrite(RGB,LOW);
delay(50);
digitalWrite(RGB,HIGH);
delay(250);
digitalWrite(RGB,LOW);
digitalWrite(led,LOW);
}
if(results.value==2064){
lcd.clear();
digitalWrite(led,HIGH);
digitalWrite(bl,HIGH);
lcd.setCursor(0,0);
lcd.print(" Please ");
lcd.setCursor(0,1);
lcd.print(" Come in ");
digitalWrite(RGB,HIGH);
delay(500);
digitalWrite(RGB,LOW);
delay(100);
digitalWrite(RGB,HIGH);
delay(50);
digitalWrite(RGB,LOW);
delay(50);
digitalWrite(RGB,HIGH);
delay(50);
digitalWrite(RGB,LOW);
delay(50);
digitalWrite(RGB,HIGH);
delay(250);
digitalWrite(RGB,LOW);
digitalWrite(led,LOW);
}
if(results.value==1040){
lcd.clear();
digitalWrite(led,HIGH);
digitalWrite(bl,HIGH);
lcd.setCursor(0,0);
lcd.print(" Just ");
lcd.setCursor(0,1);
lcd.print(" coming ");
digitalWrite(RGB,HIGH);
delay(500);
digitalWrite(RGB,LOW);
delay(100);
digitalWrite(RGB,HIGH);
delay(50);
digitalWrite(RGB,LOW);
delay(50);
digitalWrite(RGB,HIGH);
delay(50);
digitalWrite(RGB,LOW);
delay(50);
digitalWrite(RGB,HIGH);
delay(250);
digitalWrite(RGB,LOW);
digitalWrite(led,LOW);
}
if(results.value==528){
lcd.clear();
digitalWrite(led,HIGH);
digitalWrite(bl,HIGH);
lcd.setCursor(0,0);
lcd.print("Please wait for ");
lcd.setCursor(0,1);
lcd.print(" 5 minutes ");
digitalWrite(RGB,HIGH);
delay(500);
digitalWrite(RGB,LOW);
delay(100);
digitalWrite(RGB,HIGH);
delay(50);
digitalWrite(RGB,LOW);
delay(50);
digitalWrite(RGB,HIGH);
delay(50);
digitalWrite(RGB,LOW);
delay(50);
digitalWrite(RGB,HIGH);
delay(250);
digitalWrite(RGB,LOW);
digitalWrite(led,LOW);
}
if(results.value==3088){
lcd.clear();
digitalWrite(led,HIGH);
digitalWrite(bl,HIGH);
lcd.setCursor(0,0);
lcd.print(" Please drop it ");
lcd.setCursor(0,1);
lcd.print(" in the mailbox ");
digitalWrite(RGB,HIGH);
delay(500);
digitalWrite(RGB,LOW);
delay(100);
digitalWrite(RGB,HIGH);
delay(50);
digitalWrite(RGB,LOW);
delay(50);
digitalWrite(RGB,HIGH);
delay(50);
digitalWrite(RGB,LOW);
delay(50);
digitalWrite(RGB,HIGH);
delay(250);
digitalWrite(RGB,LOW);
digitalWrite(led,LOW);
}
if(results.value==2576){
lcd.clear();
digitalWrite(led,HIGH);
digitalWrite(bl,HIGH);
lcd.setCursor(0,0);
lcd.print(" Can we meet ");
lcd.setCursor(0,1);
lcd.print(" Later? ");
digitalWrite(RGB,HIGH);
delay(500);
digitalWrite(RGB,LOW);
delay(100);
digitalWrite(RGB,HIGH);
delay(50);
digitalWrite(RGB,LOW);
delay(50);
digitalWrite(RGB,HIGH);
delay(50);
digitalWrite(RGB,LOW);
delay(50);
digitalWrite(RGB,HIGH);
delay(250);
digitalWrite(RGB,LOW);
digitalWrite(led,LOW);
}
if(results.value==1552){
lcd.clear();
digitalWrite(led,HIGH);
digitalWrite(bl,HIGH);
lcd.setCursor(0,0);
lcd.print(" Can we meet ");
lcd.setCursor(0,1);
lcd.print(" tomorrow ");
digitalWrite(RGB,HIGH);
delay(500);
digitalWrite(RGB,LOW);
delay(100);
digitalWrite(RGB,HIGH);
delay(50);
digitalWrite(RGB,LOW);
delay(50);
digitalWrite(RGB,HIGH);
delay(50);
digitalWrite(RGB,LOW);
delay(50);
digitalWrite(RGB,HIGH);
delay(250);
digitalWrite(RGB,LOW);
digitalWrite(led,LOW);
}
if(results.value==3600){
lcd.clear();
digitalWrite(led,HIGH);
digitalWrite(bl,HIGH);
lcd.setCursor(0,0);
lcd.print(" We will meet ");
lcd.setCursor(0,1);
lcd.print(" one hour later ");
digitalWrite(RGB,HIGH);
delay(500);
digitalWrite(RGB,LOW);
delay(100);
digitalWrite(RGB,HIGH);
delay(50);
digitalWrite(RGB,LOW);
delay(50);
digitalWrite(RGB,HIGH);
delay(50);
digitalWrite(RGB,LOW);
delay(50);
digitalWrite(RGB,HIGH);
delay(250);
digitalWrite(RGB,LOW);
digitalWrite(led,LOW);
}
if(results.value==272){
lcd.clear();
digitalWrite(led,HIGH);
digitalWrite(bl,HIGH);
lcd.setCursor(0,0);
lcd.print(" Meet you ");
lcd.setCursor(0,1);
lcd.print(" there. ");
digitalWrite(RGB,HIGH);
delay(500);
digitalWrite(RGB,LOW);
delay(100);
digitalWrite(RGB,HIGH);
delay(50);
digitalWrite(RGB,LOW);
delay(50);
digitalWrite(RGB,HIGH);
delay(50);
digitalWrite(RGB,LOW);
delay(50);
digitalWrite(RGB,HIGH);
delay(250);
digitalWrite(RGB,LOW);
digitalWrite(led,LOW);
}
if(results.value==2320){
lcd.clear();
digitalWrite(led,LOW);
digitalWrite(bl,HIGH);
digitalWrite(RGB,LOW);
lcd.setCursor(0,0);
lcd.print("D.B.M.S. English");
lcd.setCursor(0,1);
lcd.print(" School ");
}
delay(499);
irrecv.resume();
delay(499);
}//if any results received
}//void loop
* This is the 2018 version of the code that was presented at MTFIG
I am currently working to equip the device with wi-fi and a camera. For the purpose, I plan to use an esp-32 cam or esp-32 eye board, which not only has inbuilt wifi but also a 2mp camera. It can then be connected to the user's mobile phone using blynk. The user can then use their phone to send messages to the screen, look who is at their doorstep and even open the door, just with a click.